/**
 * module.exports & exports 的原理
 * 1. exports是一个引用，相当于复制了module.exports的引用地址
 * 2. 同时使用exports和module.exports时，exports会覆盖 module.exports
 * 3. 不建议给exports赋值给一个新的对象，否则与module.exports引用切断，导致新添属性和方法无法导入
 */

let moduleExports = {}

let exports = moduleExports

exports = {
  name: 'yuanli'
}

/**
 * 解构赋值
 * 1. 直接引入
 * 2. 引入同时解构需要的数据
 * 3. 引入同时解构+重命名需要的数据
 */


// 直接引⼊模块
const school = require('./school')
// 引⼊同时解构出要⽤的数据
const { name, slogan, getTel } = require('./school')
// 引⼊同时解构+重命名
const { name: stuName, motto, getTel: stuTel } = require('./student')